package arithmetic;

import java.util.HashMap;
import java.util.Scanner;
import java.util.Set;

/**
 * HJ23 删除字符串中出现次数最少的字符
 * 知识点：
 * 1.HashMap<String, Integer>
 * 2.Map.keySet();
 * 3.增强for循环
 * 4.String.toCharArray()
 * 5.Scanner.nextLine()
 *
 * 描述
 * 实现删除字符串中出现次数最少的字符，若出现次数最少的字符有多个，则把出现次数最少的字符都删除。输出删除这些单词后的字符串，字符串中其它字符保持原来的顺序。
 *
 * 数据范围：输入的字符串长度满足 1≤n≤20  ，保证输入的字符串中仅出现小写字母
 * 输入描述：
 * 字符串只包含小写英文字母, 不考虑非法输入，输入的字符串长度小于等于20个字节。
 *
 * 输出描述：
 * 删除字符串中出现次数最少的字符后的字符串。
 *
 * 示例1
 * 输入：
 * aabcddd
 * 复制
 * 输出：
 * aaddd
 */
public class TestHW23 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        // while (in.hasNextInt()) { // 注意 while 处理多个 case
        //     int a = in.nextInt();
        //     int b = in.nextInt();
        //     System.out.println(a + b);
        // }
        String str = in.nextLine();
        if (str.isEmpty())return;
        test1(str);
    }
    public static void test1(String str) {
        //获取所有字符的次数
        char[] chs = str.toCharArray();
        HashMap<String, Integer> map = new HashMap<>();
        for (int i = 0; i < chs.length; i++) {
            String ch = String.valueOf(chs[i]);
            if (map.keySet().contains(ch)) {
                int value = map.get(ch) + 1;
                map.put(ch, value);
            } else {
                map.put(ch, 1);
            }
        }
        //获取出现次数最少的字符
        int min = 20;
        String minStr = "";
        Set<String> setD = map.keySet();
        for(String key:setD){
            int value = map.get(key);
            if(min>value){
                min = value;
                minStr = key;
            }
            if(min == value){
                minStr +=key;
            }
        }
        //筛掉最少的字符
        String result = "";
        int index = 0;
        while(index<chs.length){
            String subStr = String.valueOf(chs[index]);
            if(!minStr.contains(subStr)){
                result+=subStr;
            }
            index++;
        }
        System.out.println(result);
    }
}
